//
//  BBDispatchViewDelegate.h
//  BBTUIOTest
//
//  Created by ben smith on 8/20/08.
//  This file is part of BBTUIOTest.
//
//  BBTUIOTest is free software: you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.

//  BBTUIOTest is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU Lesser General Public License for more details.

//  You should have received a copy of the GNU Lesser General Public License
//  along with BBTUIOTest.  If not, see <http://www.gnu.org/licenses/>.
// 
//  Copyright 2008 Ben Britten Smith ben@benbritten.com .
//
//


#import <Cocoa/Cocoa.h>

// this bridges the gap between the OSC TUIO commands and the main view
@class BBGestureDecoder;
@class BBTUIOCursor;
@class BBOSCMessage;

@interface BBDispatchViewDelegate : NSObject {
	NSView * mainView;
	NSMutableDictionary * activeBlobs;
	BBGestureDecoder * gestureDecoder;
	BBTUIOCursor * currentMouseCursor;
	BBTUIOCursor * currentPinchCursor;
}

@property (retain) NSView * mainView;
@property (retain) 	BBTUIOCursor * currentMouseCursor;

- (BOOL)handleMultiTouch;
- (NSString*)keyForID:(NSInteger)num;
- (id) init;
- (void) dealloc;
- (void)decodeCursors;
- (void)dispatchMessage:(BBOSCMessage*)message;
- (void)dispatchRawPacket:(NSData*)someData;
- (void)handleMouseDown:(BBTUIOCursor*)cursor;
- (void)handleMouseDrag:(BBTUIOCursor*)cursor;
- (void)handleMouseUp:(BBTUIOCursor*)cursor;
- (void)processAlive:(NSArray*)args;
- (void)processFseq:(NSArray*)args;
- (void)processSet:(NSArray*)args;
- (void)processSource:(NSArray*)args;

// 14 methods


@end
